In [1]:
# -*- coding: utf-8 -*-
"""
Created on 2023/1/31 14:14

@author: Susan
"""
import pandas as pd

from pt_utils.PairTrading import PairTrading

trans_start = '2019-01-01'
end_date = '2022-01-01'
n_rev, n_reva = 0, 0
col = ['stock_0', 'stock_1', '配对系数', '已平仓实现收益', '总盈亏', 'entry_level', 'exit_level', 'trading_tlist']
nres_df = pd.DataFrame(
    columns=col)
while trans_start <= end_date:
    pt = PairTrading(trans_start, trans_start, 'pt_result/')
    res_df, rev, reva = pt.run()
    nres_df = pd.concat([nres_df, res_df], ignore_index=True)
    n_rev += rev
    n_reva += reva
    trans_start = pt.trans_end
res_r = [None, None, None, n_rev, n_reva, None, None, None]
res_dict = dict(zip(col, res_r))
nres_df = nres_df.append(res_dict, ignore_index=True)
print(nres_df)
formation start	2018-01-01	formation end	2019-01-01
transaction start	2019-01-01	transaction end	2019-07-01
RESULTS will be saved at pt_result//2019-01-01_1Y_2019-01-01_6M/
100%|██████████| 32/32 [00:23<00:00,  1.37it/s]
100%|██████████| 10/10 [00:02<00:00,  3.80it/s]
      stock_0     stock_1        配对系数     已平仓实现收益         总盈亏  entry_level  \
0   603277.SH   603321.SH    1.133581    2.672268    1.747820    -0.040305   
1   300639.SZ   300676.SZ    0.803833    0.000000    0.000000    -0.063372   
2   600405.SH   600152.SH    1.240165    0.000000   -7.296408    -0.014193   
3   000710.SZ   601965.SH    2.023435    0.000000    0.000000     0.000005   
4   300669.SZ   603331.SH    1.083117    0.000000   -2.037734     -0.02728   
5   300048.SZ   600152.SH    1.101551    6.004622    1.894522    -0.022145   
6   300554.SZ   300698.SZ    1.331311    0.000000   -9.036801    -0.017061   
7   000710.SZ   000913.SZ    1.440557    4.093893    4.093893    -0.022348   
8   002284.SZ   002590.SZ    0.996017    0.000000    0.000000     -1034.16   
9   600620.SH   000882.SZ    3.832606  985.285026  985.285026    -0.117583   
10  formation  2018-01-01  2019-01-01  998.055810  974.650318  transaction   

    exit_level                                      trading_tlist  
0     0.040305  [2019-01-16 00:00:00, 2019-01-18 00:00:00, 201...  
1     0.063372                                                 []  
2     0.014193                              [2019-01-02 00:00:00]  
3    -0.000005                                               None  
4      0.02728                              [2019-01-21 00:00:00]  
5     0.022145  [2019-01-02 00:00:00, 2019-04-30 00:00:00, 201...  
6     0.017061                              [2019-01-02 00:00:00]  
7     0.022348         [2019-06-20 00:00:00, 2019-06-26 00:00:00]  
8      1034.16                                                 []  
9     0.117583         [2019-02-28 00:00:00, 2019-05-06 00:00:00]  
10  2019-01-01                                         2019-07-01  
所有挑选出的配对组===================================================================
已平仓实现收益	998.0558096984432	总盈亏	974.6503181065447
formation start	2018-07-01	formation end	2019-07-01
transaction start	2019-07-01	transaction end	2020-01-01
RESULTS will be saved at pt_result//2019-07-01_1Y_2019-07-01_6M/
100%|██████████| 32/32 [00:36<00:00,  1.13s/it]
100%|██████████| 10/10 [00:02<00:00,  3.65it/s]
      stock_0     stock_1        配对系数    已平仓实现收益         总盈亏  entry_level  \
0   300288.SZ   300399.SZ    1.352454          0  -33.302957     -0.10886   
1   000686.SZ   601555.SH    2.105418          0  -92.257706    -0.121912   
2   300701.SZ   300720.SZ    1.079905          0    0.000000    -0.040299   
3   603444.SH   600633.SH    1.199062          0    0.000000    -0.019228   
4   002195.SZ   600633.SH    1.093554    8.43364  -17.584458     -0.02398   
5   600061.SH   601377.SH    1.611178  -6.104563  -61.208724      -0.0228   
6   300348.SZ   600633.SH    1.125059   5.530205    5.530205    -0.013645   
7   002261.SZ   300288.SZ    0.873609          0    0.000000     0.000009   
8   300277.SZ   300288.SZ    0.798652          0    0.000000    -0.039115   
9   000686.SZ   600061.SH    1.101037  12.273172  -16.988482    -0.026092   
10  formation  2018-07-01  2019-07-01  20.132454 -215.812122  transaction   

    exit_level                                      trading_tlist  
0      0.10886                              [2019-07-01 00:00:00]  
1     0.121912                              [2019-07-01 00:00:00]  
2     0.040299                                                 []  
3     0.019228                                                 []  
4      0.02398  [2019-07-26 00:00:00, 2019-09-09 00:00:00, 201...  
5       0.0228  [2019-07-01 00:00:00, 2019-08-06 00:00:00, 201...  
6     0.013645         [2019-07-01 00:00:00, 2019-08-16 00:00:00]  
7    -0.000009                                               None  
8     0.039115                                                 []  
9     0.026092  [2019-07-01 00:00:00, 2019-12-20 00:00:00, 201...  
10  2019-07-01                                         2020-01-01  
所有挑选出的配对组===================================================================
已平仓实现收益	20.132453528966355	总盈亏	-215.81212180170544
formation start	2019-01-01	formation end	2020-01-01
transaction start	2020-01-01	transaction end	2020-07-01
RESULTS will be saved at pt_result//2020-01-01_1Y_2020-01-01_6M/
100%|██████████| 32/32 [00:38<00:00,  1.19s/it]
100%|██████████| 10/10 [00:02<00:00,  3.86it/s]
      stock_0     stock_1        配对系数    已平仓实现收益        总盈亏  entry_level  \
0   000606.SZ   002030.SZ    0.743013          0  76.221846    -0.046978   
1   000606.SZ   002864.SZ    1.094221          0  -6.100813    -0.036983   
2   002788.SZ   300534.SZ    0.995821   5.155887   5.155887    -0.035799   
3   600822.SH   600794.SH    0.769426  11.818579  11.818579    -0.049491   
4   300478.SZ   603725.SH    1.365517   2.082974  -7.038397    -0.023048   
5   600410.SH   600797.SH    1.010426          0   0.000000     0.000003   
6   002870.SZ   603063.SH    1.364932          0   0.000000    -0.076591   
7   002896.SZ   603897.SH     1.08449   2.757181   0.989421    -0.041878   
8   002350.SZ   603897.SH    1.082584          0   0.000000       -0.027   
9   000606.SZ   300110.SZ    1.176511          0  -9.288658    -0.032081   
10  formation  2019-01-01  2020-01-01  21.814621  71.757865  transaction   

    exit_level                                      trading_tlist  
0     0.046978                              [2020-01-02 00:00:00]  
1     0.036983                              [2020-01-02 00:00:00]  
2     0.035799  [2020-02-17 00:00:00, 2020-04-27 00:00:00, 202...  
3     0.049491         [2020-01-09 00:00:00, 2020-06-10 00:00:00]  
4     0.023048  [2020-01-02 00:00:00, 2020-01-13 00:00:00, 202...  
5    -0.000003                                               None  
6     0.076591                                                 []  
7     0.041878  [2020-01-02 00:00:00, 2020-02-07 00:00:00, 202...  
8        0.027                                                 []  
9     0.032081                              [2020-01-02 00:00:00]  
10  2020-01-01                                         2020-07-01  
所有挑选出的配对组===================================================================
已平仓实现收益	21.81462074028922	总盈亏	71.75786519051789
formation start	2019-07-01	formation end	2020-07-01
transaction start	2020-07-01	transaction end	2021-01-01
RESULTS will be saved at pt_result//2020-07-01_1Y_2020-07-01_6M/
100%|██████████| 32/32 [00:39<00:00,  1.22s/it]
100%|██████████| 10/10 [00:02<00:00,  3.56it/s]
      stock_0     stock_1        配对系数    已平仓实现收益        总盈亏  entry_level  \
0   002227.SZ   603016.SH    1.116989   9.350435   1.242673    -0.014447   
1   002606.SZ   603016.SH     1.12799   0.000000  -5.319982    -0.014171   
2   600758.SH   603693.SH     1.02309   0.000000   3.978812    -0.025923   
3   000862.SZ   000993.SZ     1.00908   1.116089   2.173697    -0.023975   
4   300697.SZ   603016.SH    1.018127   0.000000   0.000000     0.000126   
5   300452.SZ   300143.SZ    1.080253   0.000000 -18.649715    -0.022527   
6   601288.SH   601398.SH    0.746919   0.000000   0.000000     -1034.16   
7   002564.SZ   002689.SZ      1.0218   1.360429   1.360429    -0.024064   
8   600560.SH   603016.SH    1.284574   0.000000 -12.329020    -0.069108   
9   002189.SZ   002506.SZ    0.923314   0.000000   0.000000     0.000077   
10  formation  2019-07-01  2020-07-01  11.826952 -27.543106  transaction   

    exit_level                                      trading_tlist  
0     0.014447  [2020-07-01 00:00:00, 2020-11-25 00:00:00, 202...  
1     0.014171                              [2020-07-01 00:00:00]  
2     0.025923                              [2020-07-01 00:00:00]  
3     0.023975  [2020-07-01 00:00:00, 2020-12-09 00:00:00, 202...  
4    -0.000126                                               None  
5     0.022527                              [2020-07-06 00:00:00]  
6      1034.16                                                 []  
7     0.024064         [2020-07-01 00:00:00, 2020-12-24 00:00:00]  
8     0.069108                              [2020-07-01 00:00:00]  
9    -0.000077                                               None  
10  2020-07-01                                         2021-01-01  
所有挑选出的配对组===================================================================
已平仓实现收益	11.826952077478532	总盈亏	-27.543105768403073
formation start	2020-01-01	formation end	2021-01-01
transaction start	2021-01-01	transaction end	2021-07-01
RESULTS will be saved at pt_result//2021-01-01_1Y_2021-01-01_6M/
100%|██████████| 32/32 [00:47<00:00,  1.49s/it]
100%|██████████| 10/10 [00:02<00:00,  3.61it/s]
      stock_0     stock_1        配对系数    已平仓实现收益        总盈亏  entry_level  \
0   300233.SZ   603086.SH    1.148249  14.288636  14.288636    -0.087833   
1   002957.SZ   688028.SH    0.821986   3.766120   3.766120    -0.038904   
2   002562.SZ   300233.SZ    0.917097   0.000000   0.000000     0.000003   
3   300354.SZ   300120.SZ     1.09222  10.772395  10.772395    -0.019723   
4   688066.SH   688168.SH    0.850588   0.000000   0.000000    -0.023077   
5   002204.SZ   002564.SZ     1.11947   0.912965  -1.392043    -0.034382   
6   002961.SZ   603093.SH    1.091699   0.000000   0.000000    -0.038892   
7   002806.SZ   600770.SH    0.643384  15.799557  65.531011    -0.023211   
8   300222.SZ   300444.SZ     1.39395   1.088964 -43.398823    -0.019624   
9   002073.SZ   002564.SZ    1.421472   0.000000   0.000000    -0.065938   
10  formation  2020-01-01  2021-01-01  46.628637  49.567296  transaction   

    exit_level                                      trading_tlist  
0     0.087833         [2021-01-04 00:00:00, 2021-02-19 00:00:00]  
1     0.038904         [2021-05-06 00:00:00, 2021-05-31 00:00:00]  
2    -0.000003                                               None  
3     0.019723  [2021-01-04 00:00:00, 2021-01-07 00:00:00, 202...  
4     0.023077                                                 []  
5     0.034382  [2021-05-21 00:00:00, 2021-06-04 00:00:00, 202...  
6     0.038892                                                 []  
7     0.023211  [2021-01-04 00:00:00, 2021-05-11 00:00:00, 202...  
8     0.019624  [2021-01-04 00:00:00, 2021-01-13 00:00:00, 202...  
9     0.065938                                                 []  
10  2021-01-01                                         2021-07-01  
所有挑选出的配对组===================================================================
已平仓实现收益	46.62863740367967	总盈亏	49.567295828275775
formation start	2020-07-01	formation end	2021-07-01
transaction start	2021-07-01	transaction end	2022-01-01
RESULTS will be saved at pt_result//2021-07-01_1Y_2021-07-01_6M/
100%|██████████| 32/32 [00:45<00:00,  1.42s/it]
100%|██████████| 10/10 [00:02<00:00,  3.63it/s]
      stock_0     stock_1        配对系数    已平仓实现收益        总盈亏  entry_level  \
0   002961.SZ   603093.SH    1.107695          0          0    -0.045314   
1   601288.SH   601988.SH    0.915659          0          0     -1034.16   
2   000555.SZ   300468.SZ    0.958316          0    6.73753    -0.042275   
3   300120.SZ   300600.SZ    0.927183          0          0     0.000035   
4   300031.SZ   688118.SH    1.442055  17.500534  17.500534    -0.090745   
5   000563.SZ   601990.SH    1.537166   3.324148   3.324148    -0.039407   
6   300088.SZ   603118.SH    1.569351  15.137537  15.137537    -0.021858   
7   000505.SZ   600127.SH    0.840285   3.959023   3.959023    -0.040853   
8   603138.SH   688118.SH    1.148841   10.69858   10.69858    -0.044069   
9   300287.SZ   300588.SZ    1.429143          0  -30.36823    -0.077112   
10  formation  2020-07-01  2021-07-01  50.619821  26.989121  transaction   

    exit_level                                      trading_tlist  
0     0.045314                                                 []  
1      1034.16                                                 []  
2     0.042275                              [2021-10-28 00:00:00]  
3    -0.000035                                               None  
4     0.090745         [2021-08-04 00:00:00, 2021-08-30 00:00:00]  
5     0.039407         [2021-08-10 00:00:00, 2021-08-30 00:00:00]  
6     0.021858  [2021-07-01 00:00:00, 2021-07-05 00:00:00, 202...  
7     0.040853  [2021-07-06 00:00:00, 2021-10-14 00:00:00, 202...  
8     0.044069  [2021-08-03 00:00:00, 2021-08-23 00:00:00, 202...  
9     0.077112                              [2021-07-01 00:00:00]  
10  2021-07-01                                         2022-01-01  
所有挑选出的配对组===================================================================
已平仓实现收益	50.61982110855784	总盈亏	26.989121249967738
formation start	2021-01-01	formation end	2022-01-01
transaction start	2022-01-01	transaction end	2022-07-01
RESULTS will be saved at pt_result//2022-01-01_1Y_2022-01-01_6M/
100%|██████████| 32/32 [00:51<00:00,  1.61s/it]
100%|██████████| 10/10 [00:02<00:00,  3.76it/s]
      stock_0     stock_1        配对系数    已平仓实现收益        总盈亏  entry_level  \
0   002040.SZ   600190.SH     1.43525          0          0     -1034.16   
1   300619.SZ   603667.SH    1.288964          0          0    -0.030919   
2   300477.SZ   600869.SH    0.978041  16.883786  22.611653    -0.036564   
3   000898.SZ   600022.SH    1.102637          0  -0.406059    -0.045755   
4   600115.SH   601111.SH    0.869578          0   2.087506    -0.038087   
5   002989.SZ   688069.SH    0.830004   4.211861  17.190493    -0.013856   
6   603233.SH   603883.SH    1.054557          0  -7.224947    -0.052175   
7   000505.SZ   600127.SH    0.834326          0          0     -0.02762   
8   000926.SZ   600743.SH    0.837949          0          0     -1034.16   
9   300153.SZ   300477.SZ    0.930342   6.079861  15.944232    -0.016479   
10  formation  2021-01-01  2022-01-01  27.175508  50.202879  transaction   

    exit_level                                      trading_tlist  
0      1034.16                                                 []  
1     0.030919                                                 []  
2     0.036564  [2022-01-04 00:00:00, 2022-05-17 00:00:00, 202...  
3     0.045755                              [2022-01-04 00:00:00]  
4     0.038087                              [2022-01-04 00:00:00]  
5     0.013856  [2022-01-05 00:00:00, 2022-04-07 00:00:00, 202...  
6     0.052175                              [2022-01-04 00:00:00]  
7      0.02762                                                 []  
8      1034.16                                                 []  
9     0.016479  [2022-03-08 00:00:00, 2022-03-09 00:00:00, 202...  
10  2022-01-01                                         2022-07-01  
所有挑选出的配对组===================================================================
已平仓实现收益	27.175508044123834	总盈亏	50.20287869127456
      stock_0     stock_1        配对系数      已平仓实现收益         总盈亏  entry_level  \
0   603277.SH   603321.SH    1.133581     2.672268     1.74782    -0.040305   
1   300639.SZ   300676.SZ    0.803833          0.0         0.0    -0.063372   
2   600405.SH   600152.SH    1.240165          0.0   -7.296408    -0.014193   
3   000710.SZ   601965.SH    2.023435          0.0         0.0     0.000005   
4   300669.SZ   603331.SH    1.083117          0.0   -2.037734     -0.02728   
..        ...         ...         ...          ...         ...          ...   
73  000505.SZ   600127.SH    0.834326            0           0     -0.02762   
74  000926.SZ   600743.SH    0.837949            0           0     -1034.16   
75  300153.SZ   300477.SZ    0.930342     6.079861   15.944232    -0.016479   
76  formation  2021-01-01  2022-01-01    27.175508   50.202879  transaction   
77        NaN         NaN         NaN  1176.253803  929.812251          NaN   

    exit_level                                      trading_tlist  
0     0.040305  [2019-01-16 00:00:00, 2019-01-18 00:00:00, 201...  
1     0.063372                                                 []  
2     0.014193                              [2019-01-02 00:00:00]  
3    -0.000005                                               None  
4      0.02728                              [2019-01-21 00:00:00]  
..         ...                                                ...  
73     0.02762                                                 []  
74     1034.16                                                 []  
75    0.016479  [2022-03-08 00:00:00, 2022-03-09 00:00:00, 202...  
76  2022-01-01                                         2022-07-01  
77         NaN                                                NaN  

[78 rows x 8 columns]